Persisting a Result Set as an XML Data File


This driver allows you to persist a result set as an XML data file with embedded schema. To implement XML persistence, a client application must do the following:

1.       Turn on STATIC cursors. For example:

SQLSetStmtAttr (hstmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_STATIC, SQL_IS_INTEGER)

NOTE: A result set can be persisted as an XML data file only if the result set is generated using STATIC cursors. Otherwise, the following error is returned:

Driver only supports XML persistence when using driver’s static cursors.

2.       Execute a SQL statement. For example:

SQLExecDirect (hstmt, "Select * from GTABLE", SQL_NTS)

3.       Persist the result set as an XML data file. For example:

SQLSetStmtAttr (hstmt, SQL_PERSIST_AS_XML, "c:\temp\GTABLE.XML", SQL_NTS)

NOTE: A new statement attribute is available to support XML persistence, SQL_PERSIST_AS_XML. A client application must call SQLSetStmtAttr with this new attribute as an argument. See the following table for the definition of valid arguments for SQLSetStmtAttr.

Argument

Definition

StatementHandle

The handle of the statement that contains the result set to persist as XML.

Attribute

SQL_PERSIST_AS_XML. This new statement attribute can be found in the file qesqlext.h, which is installed with the driver.

ValuePtr

Pointer to a URL that specifies the full path name of the XML data file to be generated. The directory specified in the path name must exist, and if the specified file name exists, the file will be overwritten.

StringLength

The length of the string pointed to by ValuePtr or SQL_NTS if ValuePtr points to a null terminated string.

A client application can choose to persist the data at any time that the statement is in an executed or cursor-positioned state. At any other time, the driver returns the following message:

 
Function Sequence Error 

Using the Windows XML Persistence Demo Tool

On Windows, Sybase ASE ODBC Driver is shipped with an XML persistence demo tool. This tool is installed in the Sybase ASE ODBC Driver installation directory.

The tool has a graphical user interface and allows you to persist data as an XML data file. To use this tool, take the following steps:

1.       From the Sybase ASE ODBC Driver 4.10 program group, select XML Persistence Demo. The XML Persistence dialog box appears.

2.       First, you must connect to the database. Click Connect. The Select Data Source dialog box appears.

3.       You must either select an existing data source or create a new one. Take one of the following actions:

o        Select an existing data source and click OK.

o        Create a new file data source by clicking New. The Create New Data Source dialog box appears. Follow the instructions in the dialog box.

o        Create a new machine data source by clicking the Machine Data Source tab and clicking New. The Create New Data Source dialog box appears. Follow the instructions in the dialog box.

4.       After you have connected to a database, type a SQL Select statement in the Query text box of the XML Persistence dialog box. Then, click Persist. The Save As dialog box appears.

5.       Specify a name and location for the XML data file that will be created. Then, click OK.

Note that the Status box in the XML Persistence dialog box displays whether or not the action failed or succeeded.

6.       Click Disconnect to disconnect from the database.

7.       Click Close to exit the tool.